Software Engineering in Parallel and Distributed Scientific Computing: A Case Study from Industrial Practice

نویسندگان

  • Peter Luksch
  • Ursula Maier
  • Sabine Rathmayer
  • Matthias Weidmann
  • Friedemann Unger
  • Peter Bastian
  • Volker Reichenberger
  • Andreas Haas
چکیده

We report on results from an interdisciplinary research project of computer scientists, mechanical engineers and numerical analysts from industry and academia. We have designed and implemented a portable distributed memory parallel version of CFX-TfC, a state of the art computational fluid dynamics simulation software package that features finite volume discretization on unstructured hybrid grids in combination with an algebraic multigrid solver. Performance results on a number of parallel hardware platforms indicate high efficiency and scalability. Systematic application of software engineering methods has been a key contribution to success and helped to avoid bottlenecks found in many other parallel CFD codes. A key module of TfC, the algebraic multigrid solver (AMG), has been re-designed according to the object oriented paradigm. The object oriented (OO) AMG solver has been implemented in C++. OO technology has increased the solver’s maintainability and readability. Run-time efficiency is acceptable (compared to the Fortran 77 version); it could still be improved by applying further optimizations. Since networks of workstations (NOWs) are of particular interest for small and medium enterprises (SMEs), we have implemented a resource manager that allows PVM applications such as Par-CFX-TfC to be executed in batch mode without interfering with interactive users. The resource manager features transparent checkpointing and process

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Software Engineering Methods for Parallel and Distributed Scientific Computing

In this paper, we present an interdisciplinary research project whose central objective is to develop new software engineering (SWE) methods for distributed memory parallel scientific computing. Our emphasis is on putting into practice and evaluating the proposed methods. The main test case for their definition and evaluation is the parallelization of an industrial CFD software package. A major...

متن کامل

Software Engineering Methods for Designing Parallel and Distributed Applications from Sequential Programs in Scientific Computing

Although quite a few large scale applications have been ported to multiprocessors in recent years, no framework has yet been set up for the process of designing parallel and distributed applications from sequential programs that takes into account the specific needs of large scale scientific applications where programs have complex, irregular control flow and data structures. This paper propose...

متن کامل

Hybrid Meta-heuristic Algorithm for Task Assignment Problem

Task assignment problem (TAP) involves assigning a number of tasks to a number of processors in distributed computing systems and its objective is to minimize the sum of the total execution and communication costs, subject to all of the resource constraints. TAP is a combinatorial optimization problem and NP-complete. This paper proposes a hybrid meta-heuristic algorithm for solving TAP in a ...

متن کامل

Static Task Allocation in Distributed Systems Using Parallel Genetic Algorithm

Over the past two decades, PC speeds have increased from a few instructions per second to several million instructions per second. The tremendous speed of today's networks as well as the increasing need for high-performance systems has made researchers interested in parallel and distributed computing. The rapid growth of distributed systems has led to a variety of problems. Task allocation is a...

متن کامل

High Productivity Computing Systems Program The ASC-Alliance projects: A case study of large-scale parallel scientific code development

Computational scientists face many challenges when developing software that runs on large-scale parallel machines. However, their software development processes have not previously been studied in much detail by software engineering researchers. To better understand the nature of software development in this context, we examined five largescale computational science software projects, known as ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998